package com.example.shop.goods.service;

import com.example.shop.common.api.ServiceReturn;
import com.example.shop.goods.dto.*;
import com.example.shop.pojo.User;

public interface EvaluationService {

    ServiceReturn<Boolean> deleteEvaluation(long evaluationId);
    /**
     * 用户对指定的订单里的商品进行评价
     * @param user 评价的用户
     * @param evaluationInfo 评价信息
     * @return 返回该评价的浏览信息的业务处理结果对象
     */
    ServiceReturn<EvaluationBrowseInfo> saveEvaluation(User user,EvaluationInfoParam evaluationInfo);

    /**
     * 对指定的评价进行评论
     * @param user 进行评论的用户
     * @param commentInfo 评论信息
     * @return 返回评论的业务处理结果对象
     */
    ServiceReturn<Comments> saveComment(User user, CommentInfoParam commentInfo);

    /**
     * 对指定的评论、评价、回复评论进行回复评论
     * @param user 进行回复评论的用户
     * @param replyCommentInfo 回复评论信息
     * @return 返回回复评论的业务处理结果对象
     */
    ServiceReturn<CommentsReply> saveReplyComment(User user, CommentReplyInfoParam replyCommentInfo);



}
